このドキュメントでは、Visual Studio 2005 と Ultra Light .NET インタフェースを使用する携帯機器上で、DataGrid
を実行する方法について説明します。
通常、データを閲覧する場合は、実際のデータベースの概念設計とよく似ていて使いやすい、グリッドレイアウトを使用するのが望ましいとされています。このドキュメントでは、Visual
Studio2005 と Ultra Light .NET インタフェースを使用する携帯機器上で、DataGrid
を実行する方法について説明します。
必要なソフトウェア
- SQL Anywhere Studio 9.0.2
- Visual Studio 2005
- Windows Mobile 5.0 SDK (マイクロソフト社から無料で入手できます)
目標
ここでは、Visual Studio 2005 を使用して、DataGrid の Ultra Light データベースからデータを表示する、モバイル・アプリケーションの作成と配備を目的としています。
以下の手順に従ってください。
- Visual Studio 2005 で、新規の携帯機器プロジェクトを作成する
- Ultra Light .NET インタフェースを使用する環境を設定する
- Ultra Light データベースを作成し、プロジェクトに追加する
- DataGrid のコンポーネントをフォームに追加する
- DataGrid オブジェクトの移植に必要なコードを追加する
- Windows Mobile 5.0 エミュレータを使用するアプリケーションを配備する
前提条件
このドキュメントは、ユーザが以下について理解していることを前提としています。
- Visual Studio 2005 および Visual Basic .NET
- .NET framework 1.1 および 2.0
- UltraLight
ステップ 1:Visual Studio 2005 で携帯機器プロジェクトを新規作成
Visual Studio 2005 で新しいプロジェクトを以下の手順で作成します。
- [ファイル] > [新しいプロジェクト] を選択する
- [Visual Basic] > [スマートデバイス] > [Windows Mobile 5.0 Pocket
PC] を選択し、以下のように[デバイスアプリケーション] を選択する
上記のような画面が表示されます。
Windows Mobile 5.0 Pocket PC が表示されない場合は、Windows Mobile 5.0 SDK
が正しくインストールされていない可能性があります。
このプロジェクトに ”VBNetTutorial” という名前を付け、[OK] を選択して新しいプロジェクトを作成します。
ステップ 2:Ultra Light .NET インタフェースを使用する環境の設定
プロジェクトにリファレンスを追加する必要があります。
- [プロジェクト] > [参照の追加] を選択する
- 以下のリファレンスを追加する
o iAnywhere.Data.Ultralite (CE) (9.x.x version)
o iAnywhere.Data.Ultralite (CE) JA (9.x.x version)
o System.Data
o System.Xml
- [プロジェクト-] > [既存項目の追加] を選択する
- 以下の Ultra Light .NET のランタイム・ディレクトリにナビゲートする
%asany9%\ultralite\UltraLite.NET\ce\arm
ulnet9.dll をハイライトし、[追加] ボタンの矢印をクリックして、[リンクとして追加] を選択します。
このファイルは、Solution Explorer のファイル・リストに表示されます。
次に、ulnet9.dll ファイルを選択して、プロパティを設定します。
.
- [ビルドアクション] を [コンテンツ] に変更する
- [出力ディレクトリにコピー] を [新しい場合はコピーする] に変更する
ステップ 3a:Ultra Light データベースの作成
Ultra Light データベース用のスキーマを作成します。
.
- [スタート] > [すべてのプログラム] > [SQL Anywhere 9] > [Ultra
Light] > [Ultra Light SchemaPainter] を選択する
- [ファイル] > [新規作成] > [Ultra Light Schema] を選択する
ファイル・パスとファイル名を入力して、[OK] を選択します。
次に、UL Database のアイコンをダブルクリックしてから [テーブル] をダブルクリックし、最後に
[テーブルの追加] を選択します。
上図のように、[Add] ボタンを使用してカラムを追加しながら、フォームに記入します。
- "id” は、デフォルトのグローバル・オート・インクリメントであるinteger
とする
- プライマリ・キーとして [id] を選択し、昇順として設定する
- [name] は、デフォルトなしで 30 文字のchar とする
ここまで完了したら、[OK] を選択します。[ファイル] > [保存] を選択してファイルを保存し、プログラムを終了します。
Ultra Light データベースの udb ファイルを作成します
- [スタート] > [ファイル名を指定して実行] を選択して “cmd” と入力し、[OK]
をクリックする
- 次に、作成した .usm ファイルにある Ultra Light Schema ファイルを保存したディレクトリに進む
- 以下のコマンドを入力して、データベースを作成する
ulcreate -s ULDatabase.usm -c "uid=dba;pwd=sql;dbf=ULDatabase.udb"
- [スタート] > [ファイル名を指定して実行] を選択して以下のように ulisql
と入力したら、[OK] をクリックする
.
- 次の画面が表示されたら、以下に従って入力する。ここで隠されているパスワードは、“sql”
- [OK] をクリックする
- 画面上で以下のコマンドを入力し、[F5] を押してコマンドを実行する
INSERT INTO demo VALUES (1,'John')
- 毎回数値をインクリメントし、“John” の代わりに値を変更することで、複数の値を挿入する
- コマンドとして “COMMIT” と入力し、[F5] を押してプログラムを終了する
ステップ 3b:プロジェクトに Ultra Light データベースを追加
プロジェクトにデータベース・ファイルを追加して、[プロジェクトの選択] >
[既存項目の追加] へ進みます。
.
- ULDatabase.udb と ULDatabase.usm ファイルをプロジェクトに追加する
ここまで完了したら、上図の追加アイテムをそれぞれ修正する必要があります。右側の
[ビルドアトラクション] プロパティを [コンテンツ] に変更してから、[出力ディレクトリにコピー]
プロパティを [常にコピーする] に変更します。これで、常に最新版のデータベースを確実に携帯機器にコピーできるようになります。
ステップ4:DataGrid コンポーネントをフォームに追加
次に、DataGrid コンポーネントをアプリケーションに追加します。
上図のように DataGrid コンポーネントを選択して、アプリケーションに設定します。
[Name] プロパティを [dgData] に変更してから、[Dock] プロパティを [Fill] に変更します。
ステップ5:DataGrid オブジェクトの移植に必要なコードを追加
以下のインポート文をファイルの冒頭に追加します。
Imports System
Imports System.Data
Imports iAnywhere.Data.UltraLite
Imports System.xml
DataGrid を移植するコードをデータで追加します。[Form タイトルバー] をクリックしてアクティブにしたら、[イベント]
タブを選択します (Lightning bolt アイコン)。[Form Load] イベントをダブルクリックして作成すると、コード・ビューで表示されます。
新規作成した Form1_Load プロシージャに、以下のコードを挿入します。
Dim myConnectionParms As New ULConnectionParms()
' Setup the connection parameters
myConnectionParms.UserID = "dba"
myConnectionParms.Password = "sql"
myConnectionParms.DatabaseOnCE = "\Program
Files\VBNetTutorial\ULDatabase.udb"
myConnectionParms.SchemaOnCE = "\Program
Files\VBNetTutorial\ULDatabase.usm"
' Create new connection and open it
Dim con As ULConnection = New ULConnection(myConnectionParms.ToString)
con.Open()
' Create DataAdapter to define where to pull data from
Dim adapter As ULDataAdapter = New ULDataAdapter("SELECT * FROM demo",
con)
' Create DataSet to represent the disconnected data
Dim ds As New DataSet()
' Populate the dataset based on the DataAdapters parameters
adapter.Fill(ds)
' Disconect from the Database
con.Close()
' Bind the data to the DataGrid
dgData.DataSource = ds.Tables(0)
この場合、プロジェクトはエラーなしでコンパイルが可能です。
ステップ6:アプリケーションの配備
最後に、以下を選択して、エミュレータにソリューションを配備します。
デバッグ>デバッグ開始
上記画面が表示されたら、ハイライトされているオプションを選択し、[配置]
を選択します。新規画面が表示されてアクティブになっているように見える場合でも、配備が完了するまでに数分かかる場合があるので、アプリケーションのロードが完了するまでお待ちください。
ロードが完了すると、以下のようなアプリケーションが表示されます。
|